# 返回数据的类型
# 返回数据类型一般有两种 第一种:text/html  第二种:json
# 从响应头 或者 文档里content-type的值来判断
# 值为text/html  返回的为html字符串
# 值为json  返回的值为json格式
import requests

# 返回的是text/html，我们用r.text处理
# 比如 assert "字符串" in r.text

# 返回的是json，我们使用r.json()
# r.json()就是把返回的json数据转化为字典等数据
# 比如 判断 assert r.json()["键"] == 正确值

# 练习题
# 接口地址 http://127.0.0.1:8000/get_html
# 请求方法为get
# 返回的数据类型为text/html
# 做判断，判断“王大锤”是否在返回结果中
# r = requests.get("http://127.0.0.1:8000/get_html")
# print(r.text)
# assert "王大锤" in r.text

# 返回的是json，我们使用r.json()
# r.json()就是把返回的json数据转化为字典等数据
# 比如 判断 assert r.json()["键"] == 正确值

# 练习题
# 接口地址 http://127.0.0.1:8000/get_json
# 请求方法为get
# 返回的数据类型为json
# 做下判断 鸡腿 是不是喜欢吃的
# u = requests.get("http://192.168.110.248:8000/get_json")
# print(u.json())
# assert u.json()["姓名"] == "王心凌"

# 接口地址 http://127.0.0.1:8000/get_username
# 请求方法 get
# 返回的数据的类型 为 text/html 格式
# 打印返回的结果 并做断言 判断 王大锤 是否在结果中
# r = requests.get("http://127.0.0.1:8000/get_username")
# print(r.text)
# assert "王大锤" in r.text

# 接口地址 http://127.0.0.1:8000/get_data
# 请求方法 get
# 有两个参数 id name
# 返回的数据的类型 为 json 格式
# 打印返回的结果 并做断言 判断 name的值是否和传入的值一致
# u = requests.get("http://127.0.0.1:8000/get_data?id=101&name=蜘蛛侠")
# print(u.json())
# assert u.json()["name"] == "蜘蛛侠"

# 接口地址 http://127.0.0.1:8000/like
# 请求方法 get
# 返回的数据的类型 为 json 格式
# 打印返回的结果 并做断言 判断 姓名的值是否为 "王心凌"
# l = requests.get("http://127.0.0.1:8000/like")
# print(l.json())
# assert l.json()["姓名"] == "王心凌"

#返回的数据是二进制数据
#http://127.0.0.1:8000/get_pic
#请求方法get
#返回的数据格式是二进制格式
# s = requests.get("http://127.0.0.1:8000/get_pic")
# print(s.content)
# f = open("pic.png","wb")
# f.write(s.content)
# f.close()

# 用浏览器打开地址 http://127.0.0.1:8000/get_html_file
# 有两个接口
# 点击 注册 触发
# 点击 我是谁 触发
# 抓下包，用 requests 来进行请求这两个接口

# 注册
dictA = {"username":"www","password":"123456","city":"bj"}
r = requests.post(url="http://127.0.0.1:8000/reg",data=dictA)
print(r.text)
assert "注册成功" in r.text
#我是谁
u = requests.get("http://127.0.0.1:8000/get_username?")
print(u.json())






